package id.web.faisalabdillah.xtimesheet.dao;

import java.util.Date;
import java.util.List;

import id.web.faisalabdillah.xtimesheet.domain.HolidaysEvent;

public interface IHolidaysDao {
	public void insert(HolidaysEvent param);

	public void delete(HolidaysEvent param);

	public void update(HolidaysEvent param);

	public List<HolidaysEvent> findAll();

	public List<HolidaysEvent> findByDesc(String param);
	
	public List<HolidaysEvent> findBetweenDate(final Date before,final Date after);

	public HolidaysEvent findById(long id);
	
	public HolidaysEvent findByDate(Date date);
	
	public int sizeAll();
	
	public int sizeBetweenDate(Date before,Date after);
	
	public int sizeByParams(Object param);
	
	public List<HolidaysEvent> findAllPaged(int first,int max);
	
	public List<HolidaysEvent> findByDescPaged(String param,int first,int max);
	
	public List<HolidaysEvent> findBetweenDatePaged(Date before, Date after, final int first,final int max);
}
